﻿#define _CRT_SECURE_NO_WARNINGS
//#include<stdio.h>
int  main1()
{
	/*在一个整型数组中，只有一个数字出现一次，其他数组都是成对出现的，请找出那个只出现一次的数字。
		例如：
		数组中有：1 2 3 4 5 1 2 3 4，只有5出现一次，其他数字都出现2次，找出5*/
	int arr[] = { 1,2,3,4,5,1,2,3,4 };
	int a = 0;
	int sz = sizeof(arr) / sizeof(arr[0]);//求数组元素大小
	//考察位操作符的应用
	// a ^ a = 0      a ^ 0 = a
	for (int i = 0; i < sz; i++)
	{
		a = a ^ arr[i];
	}
	printf("出现一次的数字是：%d", a);
	return 0;
}
#include <stdio.h>
int is_leap_year(int y)//判断闰年
{
    if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))
    {
        return 1;//是闰年
    }
    else
    {
        return 0;
    }
}
int get_days_of_month(int y, int m)
{
    int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };//创建一个保存月份的数组
    int day = days[m];//借助下标访问某月的天数
    if (is_leap_year(y) && m == 2)//是否为闰年二月份
    {
        day += 1;
    }
    return day;


}
int main()
{
    //先判断是否为闰年，因为闰年二月份比较特殊
    //闰年判断;可被4整除但不能被100整除的是闰年，或者，能被400整除的是闰年
//函数调用顺序：main——﻿get_days_of_month(year,month)——is_leap_year(int y
    int year = 0, month = 0;
    while (scanf("%d %d", &year, &month) != EOF)
    {
        int d = get_days_of_month(year, month);//表示某月有多少天
        printf("%d\n", d);


    }
    return 0;
}